home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PC World Komputer 2010 April
/
PCWorld0410.iso
/
hity wydania
/
Ubuntu 9.10 PL
/
karmelkowy-koliberek-desktop-9.10-i386-PL.iso
/
casper
/
filesystem.squashfs
/
etc
/
bash_completion.d
/
svk
< prev
next >
Wrap
Text File
|
2009-04-02
|
7KB
|
264 lines
# -*- mode: shell-script; sh-basic-offset: 8; indent-tabs-mode: t -*-
# ex: ts=8 sw=8 noet filetype=sh
#
# svk completion by Guillaume Rousse <guillomovitch@zarb.org>
_svk()
{
local cur prev commands options command
COMPREPLY=()
cur=`_get_cword`
commands='add admin annotate ann blame praise cat checkout co cleanup \
cmerge cm commit ci copy cp delete del remove rm depotmap \
depot describe desc diff di help h ? import info list ls log \
merge mirror mi mkdir move mv ren rename patch propdel pd pdel \
propedit pe pedit propget pg pget proplist pl plist propset ps \
pset pull push resolved revert smerge sm status st stat switch \
sw sync sy update up verify'
if [[ $COMP_CWORD -eq 1 ]] ; then
if [[ "$cur" == -* ]]; then
COMPREPLY=( $( compgen -W '--version' -- $cur ) )
else
COMPREPLY=( $( compgen -W "$commands" -- $cur ) )
fi
else
prev=${COMP_WORDS[COMP_CWORD-1]}
case $prev in
-@(F|-file|-targets))
_filedir
return 0;
;;
--encoding)
COMPREPLY=( $( compgen -W \
'$( iconv --list | sed -e "s@//@@;" )' \
-- "$cur" ) )
return 0;
;;
esac
command=${COMP_WORDS[1]}
if [[ "$cur" == -* ]]; then
# possible options for the command
case $command in
add)
options=' --non-recursive -N -q --quiet'
;;
@(blame|annotate|ann|praise))
options='-r --revisions -x --cross'
;;
cat)
options='-r --revision'
;;
@(checkout|co))
options='-r --revision -q --quiet -N \
--non-recursive -l --list -d \
--detach --export --relocate \
--purge'
;;
cleanup)
options='-a --all'
;;
@(cmerge|cm))
options='-c --change -l --log -r \
--revision -a --auto \
--verbatim --no-ticket -m \
--message -F --file --template \ --encoding -P --patch -S \
--sign -C --check-only --direct'
;;
@(commit|ci))
options='--import -m --message -F \
--file --encoding --template \
-P --patch -S --sign -C \
--check-only -N \
--non-recursive --direct'
;;
@(copy|cp))
options='-r --revision -p --parent -q \
--quiet -m --message -F --file \
--template --encoding -P \
--patch -S --sign -C \
--check-only --direct'
;;
@(delete|del|remove|rm))
options='-k --keep-local -m --message \
-F --file --encoding \
--template -P --patch -S \
--sign -C --check-only --direct'
;;
@(depotmap|depot))
options='-i --init -l --list -d \
--detach --relocate'
;;
@(diff|di))
options='-r --revision -s --summarize \
-b --verbose -N --non-recursive'
;;
import)
options='-f --from-checkout -t \
--to-checkout -m --message -F \
--file --template --encoding \
-P --patch -S --sign -C \
--check-only -N \
--non-recursive --direct'
;;
@(list|ls))
options='-r --revision -v --verbose -R \
--recursive -d --depth -f \
--full-path'
;;
log)
options='-r --revision -l --limit -q \
--quiet -x --cross -v --verbose'
;;
merge)
options='-r --revision -c --change -I \
--incremental -a --auto -l \
--log -s --sync -t --to -f \
--from --verbatim --no-ticket \
--track-rename -m --message \
-F --file --template \
--encoding -P --patch -S \
--sign -C --check-only --direct'
;;
@(mirror|mi))
options='-l --list -d --detach \
--relocate --recover --unlock \
--upgrade'
;;
mkdir)
options='-p --parent -m --message -F \
--file --template --encoding \
-P --patch -S --sign -C \
--check-only --direct'
;;
@(move|mv|rename|ren))
options='-r --revision -p --parent -q \
--quiet -m --message -F --file \
--encoding --template -P \
--patch -S --sign -C \
--check-only --direct'
;;
patch)
options='--depot'
;;
@(propdel|propset|pdel|pset|pd|ps))
options='-R --recursive -r --revision \
--revprop -m --message -F \
--file --template --encoding \
-P --patch -S --sign -C \
--check-only -q --quiet \
--direct'
;;
@(propedit|pedit|pe))
options='-R --recursive -r --revision \
--revprop -m --message -F \
--file --template --encoding \
-P --patch -S --sign -C \
--check-only --direct'
;;
@(propget|pget|pg))
options='-R --recursive -r --revision \
--revprop --strict'
;;
@(proplist|plist|pl))
options='-R --recursive -v --verbose \
-r --revision --revprop'
;;
pull)
options='-a --all -l --lump'
;;
push)
options='-f --from -l --lump -C \
--check -P --patch -S --sign \
--verbatim'
;;
resolved)
options='-R --recursive'
;;
revert)
options='-R --recursive -q --quiet'
;;
@(smerge|sm))
options='-I --incremental -l --log -B \
--baseless -b --base -s --sync \
-t --to -f --from --verbatim \
--no-ticket --track-rename \
--host --remoterev -m \
--message -F --file --template \
--encoding -P --patch -S \
--sign -C --check-only --direct'
;;
@(status|stat|st))
options='-q --quiet --no-ignore -N \
--non-recursive -v --verbose'
;;
@(switch|sw))
options='-r --revision -d --detach -q \
--quiet'
;;
@(sync|sy))
options='-a --all -s --skipto -t \
--torev'
;;
@(update|up))
options='-r --revision -N \
--non-recursive -C \
--check-only -s --sync -m \
--merge -q --quiet'
;;
esac
options="$options --help -h"
COMPREPLY=( $( compgen -W "$options" -- $cur ) )
else
case $command in
@(help|h|\?))
COMPREPLY=( $( compgen -W "$commands \
environment commands intro" -- $cur ) )
;;
admin)
COMPREPLY=( $( compgen -W 'help \
deltify dump hotcopy \
list-dblogs list-unused-dblogs \
load lstxns recover rmtxns \
setlog verify rmcache' \
-- $cur ) )
;;
patch)
COMPREPLY=( $( compgen -W '--ls --list \
--cat --view --regen \
--regenerate --up --update \
--apply --rm --delete' \
-- $cur ) )
;;
sync)
COMPREPLY=( $( compgen -W "$( svk \
mirror --list 2>/dev/null | \
awk '/^\//{print $1}' )" \
-- $cur ) )
;;
@(co|checkout|push|pull))
if [[ "$cur" == //*/* ]]; then
path=${cur%/*}/
else
path=//
fi
COMPREPLY=( $( compgen -W "$( svk \
list $path 2>/dev/null | sed -e 's|\(.*\)|'$path'\1|')" -- $cur ) )
;;
*)
_filedir
;;
esac
fi
fi
return 0
}
complete -F _svk $default svk